Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proxmox installation docs updated to ISO file installation #1038

Merged
merged 10 commits into from
Dec 9, 2024

Conversation

StephanStS
Copy link
Collaborator

@StephanStS StephanStS commented Dec 7, 2024

Issue #1036

@StephanStS StephanStS added the extension Extend/complement existing pages label Dec 7, 2024
@StephanStS StephanStS added this to the v9.9 milestone Dec 7, 2024
@StephanStS StephanStS self-assigned this Dec 7, 2024
@StephanStS StephanStS marked this pull request as ready for review December 8, 2024 11:34
@StephanStS StephanStS requested a review from LOGIN-TB December 8, 2024 17:58
@MichaIng
Copy link
Owner

MichaIng commented Dec 9, 2024

I would actually promote this script as the 1st/recommended method, also I do not see the QCOW2 image import as deprecated at all, as it is faster, less overhead overall. What about this:

  1. Describe QCOW2 method via script
  • Add the manual VM creation + image import as by default closed info box.
  1. Describe ISO method as 2nd/alternative option

Or do you think, people prefer the ISO method, as it does not require any console access, even that it means ~doubled download size, the manual VM creation steps, and additional time to install DietPi from the ISO to the virtual disk? I mean the script is just a one line command on the Proxmox host console, then all guided whiptail menus, and no additional installation or any manual VM creation. But if you think people still prefer the ISO way, then at least I would not call the QCOW2 method deprecated, in invert script and manual VM creation steps, so that the main method is calling the script only, and the lengthy manual VM generation is in an info box that is closed by default.

@LOGIN-TB
Copy link
Collaborator

LOGIN-TB commented Dec 9, 2024

for me the Installation with the VM-ISO files is the goto method. You don't need to install aditional packages on the proxmox server and you are free to configure all settings during the process. And its the recommended way

@MichaIng
Copy link
Owner

MichaIng commented Dec 9, 2024

The only package that needs to be installed (and is automatically by the script), is xz-utils. And the ISO way is recommended by whom/where? I mean just in general: Why would one 1. manually create a VM, 2. download a larger ISO 3. go through a ISO to virtual disk installation process, when alternatively one can run a single command on the console, that asks you for the most important VM parameters with a whiptail menu, with sensible defaults, which can be changed afterwards any time?

I guess it turns down to the question, whether someone who uses Proxmox is just used to create VMs manually, and import ISOs, so that our first mentioned method better aligns to how all other distros provide their Proxmox images.

@LOGIN-TB
Copy link
Collaborator

LOGIN-TB commented Dec 9, 2024

Feel free to read the official Proxmox documentation, which explains how to create a virtual machine:

https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_virtual_machines

Although there’s a reason Proxmox provides a GUI for managing the system and its VMs, you’re welcome to suggest any approach you prefer. Keep in mind, however, that while there are many different ways to achieve the same goal, each additional method or script can increase the potential for errors and the need for additional support.

@MichaIng
Copy link
Owner

MichaIng commented Dec 9, 2024

Okay, that is a very long detailed documentation. I was hoping we could skip the VM generation part in our docs entirely, linking the official ones instead, but considering that, as it guides one through the only basic/needed settings, it makes sense to keep it.

In the Proxmox docs I do not see where using an ISO installer image is recommended? Further above in the docs it is listed as one (and not the first) supported option with VM images being the first. In the upper part of chapter 10 it is mentioned as example, but then the chapter focuses on describing all settings and related CLI commands in detail, not really useful for users new to Proxmox. Or did I overlook something?

It is not so much about which method I personally prefer, but about which method is usually preferred/expected by users, who want to try out DietPi in a Proxmox VM. If ISOs are just the common standard, even when their documentation does not really give me this impression, then it makes sense to have it as first option in our docs as well. If other distros also often provide virtual disk images instead, respectively those are usually used by Proxmox users, then I'd prefer to have our script as first option. Experienced Proxmox users will anyway prefer to create the VM manually according to their preferences and use the image right away. Like Debian of course provides an ISO, but also virtual disk images for QEMU in QCOW2 format: https://www.debian.org/distrib/

Btw, what I was not thinking about so far is that also Proxmox supports importing OVA appliances. Since those include the VM creation, this would be of course the by far best method, as it works entirely via Proxmox GUI with two steps, and no separate installation process: https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_ova_ovf_import

To import OVA/OVF files, you first need a File-based storage with the import content type. On this storage, there will be an import folder where you can put OVA files or OVF files with the corresponding images in a flat structure. Alternatively you can use the web UI to upload or download OVA files directly. You can then use the web UI to select those and use the import wizard to import the guests.

So a storage needs to be created first, then the OVA downloaded, all possible via GUI, if I understand correctly? Did someone try this already? Similar to ESXi/VMware and VirtualBox, we can create an OVA with a config which works with Proxmox OOTB.

@LOGIN-TB
Copy link
Collaborator

LOGIN-TB commented Dec 9, 2024

Proxmox’s documentation regarding VM creation is incomplete. There is no step-by-step guide. However, anyone who has ever created a VM via the “Create VM” menu knows that it’s impossible to create a new VM without selecting an ISO! Through the GUI, that is the only way to create a new VM. I assume that anyone running Proxmox knows how to create a new VM. It’s only necessary to point out important, specific settings, such as enabling the “Qemu Agent” so that the tools are installed.

Since Proxmox also provides an API, most (though not all) commands for creating a VM can be executed via the CLI or API. Because this is not self-explanatory, it is described in detail in the documentation. The “user path,” however, is through the GUI.

OVA templates exist because Proxmox wants to attract VMware customers, given Broadcom’s new company and product policies. This option appeared relatively soon after the announcement of the new products and prices, as did the import of ESXi disks.

From my own experience, I can say that handling OVA templates is very cumbersome and not an alternative for VM creation. It’s more like a convoluted workaround rather than a genuine solution—definitely not an alternative.

@LOGIN-TB
Copy link
Collaborator

LOGIN-TB commented Dec 9, 2024

I need to correct myself. Of course, it is possible to create a VM without an ISO. However, the default setting is to select an ISO, and an ISO is then required for the OS installation.

@StephanStS
Copy link
Collaborator Author

StephanStS commented Dec 9, 2024

Why using the ISO way?
It is the way, Proxmox users are typically used to when they install other VMs (in other words: @LOGIN-TB, @obn100 and me are Proxmox users and we are congruent with our opinion going towards ISO/GUI).

Other Proxmox users might not be Debian specialists who want to deal with the command line interface, because this needs some more knowledge about Linux, about the Proxmox files location (where are the VM storage files located), etc.

With the ISO and the Proxmox GUI the VM generation might need some more steps compared to the script, but the complexity for the typical Proxmox user via ISO and GUI seems to be nuch lower for me.
As an example, my ISO storage looks like this (shall give an estimation that the ISO option is quite often used):
image

What could be done is not to define the script and qcow option as deprecated, instead we should name it "alternative way".

@MichaIng
Copy link
Owner

MichaIng commented Dec 9, 2024

I need to correct myself. Of course, it is possible to create a VM without an ISO. However, the default setting is to select an ISO, and an ISO is then required for the OS installation.

Okay that is probably reason enough.

What could be done is not to define the script and qcow option as deprecated, instead we should name it "alternative way".

Yeah, as it is a perfectly functional and supported way (I mean CLI usage and using virtual disk images), probably as alternative, also outside of the info box with a dedicated header, like "Alternative: Import virtual disk image via console" or so, and in addition to the existing text, the one liner:

bash <(curl -sSfL https://raw.githubusercontent.com/dazeb/proxmox-dietpi-installer/main/dietpi-install.sh)

And then have/keep the long manual description in the info box. Wait, I'll add a code suggestion, as it is only a few lines.

@obn100
Copy link
Collaborator

obn100 commented Dec 9, 2024

Hej Team, if I may - I vote for the ISO. Please have a look at the other operating systems (Free&OpenBSD/Debian/Ubuntu...NixOS). For a long time, everybody basically provides ISO files that were burned on CDs, later used on USB sticks and now are conveniently just added via the dialogue in Proxmox. So that ISO still could be used to be burned on a CD(DVD?) or written to a USB stick. I don't see a drawback in this conformity.

User perspective:

  • To be frank: if one OS (derivate) does not provide me with an ISO, I just try a different one
  • why should I install a tool for a one-time install? Especially xz which now has a bad reputation despite it was fixed in March 2024 https://en.wikipedia.org/wiki/XZ_Utils_backdoor

docs/install.md Outdated Show resolved Hide resolved
@MichaIng
Copy link
Owner

MichaIng commented Dec 9, 2024

despite it was fixed in March 2024

and never made it into any stable Debian version 😉. But I know what you mean, reputation is damaged in any case.

@MichaIng
Copy link
Owner

MichaIng commented Dec 9, 2024

Btw, companion PR for the website is this, which adds the ISO image downloads to all VMs: MichaIng/DietPi-Website#345

@MichaIng MichaIng force-pushed the dev-StS_Proxmox-Install-ISO branch from 2bb86db to 59fd59a Compare December 9, 2024 17:06
@MichaIng
Copy link
Owner

MichaIng commented Dec 9, 2024

Now it looks like this, better separated from the 3rd header, otherwise it looks like it belongs to "3. Execute the Clonezilla based DietPi installation":

image

Since the header has no number, it does not break the numbering.

@StephanStS one thing I recognised:

image

"Download the .iso..." is in a list, but there is no 2. in this section. Instead more nested non-numeric lists start, which are hence quite much indented. I suggest to remove the parent list completely, and optionally give the below dot list numbers. Alternatively:

  1. Connect to Proxmox web UI ...
  2. Select the local storage ...
  3. Click the button “Download from URL”
  4. Insert the URL ...
  5. Press the button ...
  6. etc

So to have all steps of that section in one numbered list, like it was/is in the VM generation or QCOW2 import description.

@StephanStS StephanStS merged commit 004c9cd into dev Dec 9, 2024
2 checks passed
@StephanStS StephanStS deleted the dev-StS_Proxmox-Install-ISO branch December 9, 2024 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
extension Extend/complement existing pages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants